User-Level DMA without Operating System Kernel Modification
نویسندگان
چکیده
Direct Memory Access (DMA) is frequently used to transfer data between the main memory of a host computer and the interconnection network, in order to free the host processor from the burden of the transfer. DMA operations are traditionally initiated by the operating system kernel, mainly to prevent one application from tampering with another applications' data. Recent architecture trends suggest that interconnection networks get faster, while operating systems get slower (compared to processor speeds). These trends imply that the initiation of a DMA operation becomes slower (due to operating system involvement), while the DMA data transfer itself becomes faster with time. Soon, the operating system overhead associated with starting a DMA will be larger than the data transfer itself, esp. for small data transfers. This paper proposes several algorithms that allow user-level applications to start DMA operating without the involvement of the operating system. Our algorithms allow user applications to have direct (but controlled) access to the DMA engine registers. Low overhead user-level DMA is achieved without compromising protection, and without requiring changes to the underlying operating system kernel. Using our proposed algorithms, a DMA operation can be initiated in 2 to 5 assembly instructions. By comparison, operating system-based initiation of DMA requires thousands of assembly instructions. The authors are also with the University of Crete. Personal use of this material is permitted. However, permission to reprint/republishthis material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works, must be obtained from the IEEE.
منابع مشابه
User Level DMA without Operating System Kernel Modi cation
Direct Memory Access DMA is frequently used to transfer data between the main memory of a host computer and the interconnection network in order to free the host processor from the burden of the trans fer DMA operations are traditionally initiated by the operating system kernel mainly to prevent one appli cation from tampering with another applications data Recent architecture trends suggest th...
متن کاملProtected, User-Level DMA for the SHRIMP Network Interface
Traditional DMA requires the operating system to perform many tasks to initiate a transfer, with overhead on the order of hundreds or thousands of CPU instructions. This paper describes a mechanism, called User-level Direct Memory Access (UDMA), for initiating DMA transfers of input/output data, with full protection, at a cost of only two user-level memory references. The UDMA mechanism uses ex...
متن کاملPEXOR Linux device driver and DABC integration
A device driver has been developed to apply the PEXOR hardware for Linux OS. It is realized as a char driver kernel module, currently for kernel versions 2.6.27. The driver operations for read() and write() implement PIO to the PEXOR on-board memory. Operation mmap() allocates kernel buffers for DMA operations and maps these to user space addresses. The pexor kernel module manages these buffers...
متن کاملNetwork Interface Support for User-Level Buffer Management
The network interfaces of existing multicomputers and workstations require a signi cant amount of software overhead to provide protection and bu er management in order to implement messagepassing protocols. This paper advocates a physical memory mapping method in a network interface design that supports user-level bu er management. The method requires only a minimal addition to the traditional ...
متن کاملGeneric User-Level PCI Drivers
Linux has become a popular foundation for systems with real-time requirements such as industrial control applications. In order to run such workloads on Linux, the kernel needs to provide certain properties, such as low interrupt latencies. For this purpose, the kernel has been thoroughly examined, tuned, and verified. This examination includes all aspects of the kernel, including the device dr...
متن کامل